Skip to content

Conversation

jackyalbo
Copy link
Contributor

@jackyalbo jackyalbo commented Dec 10, 2024

Explain the changes

  1. Added Network Analyzer tool for testing NooBaa connectivity to services, forks etc on Containerized and Non-Containerized environments.

Run on Containerized environment

  1. Run via noobaa operator CLI -
    noobaa diagnostics analyze network

Example -

Run -

$ noobaa diagnostics analyze network

Output -

{
  "response": {
    "code": "NetworkStatus",
    "reply": {
      "forks_info": {
        "host1": {
          "total_fork_count": 3,
          "responsive_forks": [],
          "error": {
            "code": "ECONNRESET"
          }
        },
        "host2": {
          "total_fork_count": 3,
          "responsive_fork_ids": [
            3,
            1,
            2
          ]
        }
      },
      "analyze_network_response": [
        {
          "service": "S3_HTTP",
          "hostname": "host1",
          "port": 8081,
          "secure": false,
          "nslookup_status": {
            "status": "❌ FAILURE",
            "error": {
              "errno": -3008,
              "code": "ENOTFOUND",
              "syscall": "getaddrinfo",
              "hostname": "host1"
            }
          },
          "ping_dns_status": {
            "status": "❌ FAILURE",
            "error": [
              "ping_service: ping node failed', host, \u001b[32m'ping: host1: Name or service not known\\n'\u001b[39m",
              "ping_service: ping node failed', host, \u001b[32m'ping: host1: Name or service not known\\n'\u001b[39m",
              "ping_service: ping node failed', host, \u001b[32m'ping: host1: Name or service not known\\n'\u001b[39m"
            ]
          },
          "ping_ip_status": {
            "status": "❌ FAILURE",
            "error": "host is missing undefined"
          },
          "curl_status": {
            "status": "❌ FAILURE",
            "error": {
              "errno": -3008,
              "code": "ENOTFOUND",
              "syscall": "getaddrinfo",
              "hostname": "host1"
            }
          },
          "service_call_status": {
            "status": "⏭️ SKIPPED_TEST"
          }
        },
        {
          "service": "S3_HTTPS",
          "hostname": "host1",
          "port": 6443,
          "secure": true,
          "nslookup_status": {
            "status": "❌ FAILURE",
            "error": {
              "errno": -3008,
              "code": "ENOTFOUND",
              "syscall": "getaddrinfo",
              "hostname": "host1"
            }
          },
          "ping_dns_status": {
            "status": "❌ FAILURE",
            "error": [
              "ping_service: ping node failed', host, \u001b[32m'ping: host1: Name or service not known\\n'\u001b[39m",
              "ping_service: ping node failed', host, \u001b[32m'ping: host1: Name or service not known\\n'\u001b[39m",
              "ping_service: ping node failed', host, \u001b[32m'ping: host1: Name or service not known\\n'\u001b[39m"
            ]
          },
          "ping_ip_status": {
            "status": "❌ FAILURE",
            "error": "host is missing undefined"
          },
          "curl_status": {
            "status": "❌ FAILURE",
            "error": {
              "errno": -3008,
              "code": "ENOTFOUND",
              "syscall": "getaddrinfo",
              "hostname": "host1"
            }
          },
          "service_call_status": {
            "status": "⏭️ SKIPPED_TEST"
          }
        },
        {
          "service": "METRICS",
          "hostname": "host1",
          "port": 7004,
          "secure": false,
          "nslookup_status": {
            "status": "❌ FAILURE",
            "error": {
              "errno": -3008,
              "code": "ENOTFOUND",
              "syscall": "getaddrinfo",
              "hostname": "host1"
            }
          },
          "ping_dns_status": {
            "status": "❌ FAILURE",
            "error": [
              "ping_service: ping node failed', host, \u001b[32m'ping: host1: Name or service not known\\n'\u001b[39m",
              "ping_service: ping node failed', host, \u001b[32m'ping: host1: Name or service not known\\n'\u001b[39m",
              "ping_service: ping node failed', host, \u001b[32m'ping: host1: Name or service not known\\n'\u001b[39m"
            ]
          },
          "ping_ip_status": {
            "status": "❌ FAILURE",
            "error": "host is missing undefined"
          },
          "curl_status": {
            "status": "❌ FAILURE",
            "error": {
              "errno": -3008,
              "code": "ENOTFOUND",
              "syscall": "getaddrinfo",
              "hostname": "host1"
            }
          },
          "service_call_status": {
            "status": "❌ FAILURE",
            "error_output": {
              "errno": -3008,
              "code": "ENOTFOUND",
              "syscall": "getaddrinfo",
              "hostname": "host1"
            }
          }
        },
        {
          "service": "S3_HTTP",
          "hostname": "host2",
          "port": 8081,
          "secure": false,
          "ip": "127.0.0.1",
          "nslookup_status": {
            "status": "✅ SUCCESS"
          },
          "ping_dns_status": {
            "status": "✅ SUCCESS"
          },
          "ping_ip_status": {
            "status": "✅ SUCCESS"
          },
          "curl_status": {
            "status": "✅ SUCCESS"
          },
          "service_call_status": {
            "status": "⏭️ SKIPPED_TEST"
          }
        },
        {
          "service": "S3_HTTPS",
          "hostname": "host2",
          "port": 6443,
          "secure": true,
          "ip": "127.0.0.1",
          "nslookup_status": {
            "status": "✅ SUCCESS"
          },
          "ping_dns_status": {
            "status": "✅ SUCCESS"
          },
          "ping_ip_status": {
            "status": "✅ SUCCESS"
          },
          "curl_status": {
            "status": "✅ SUCCESS"
          },
          "service_call_status": {
            "status": "⏭️ SKIPPED_TEST"
          }
        },
        {
          "service": "METRICS",
          "hostname": "host2",
          "port": 7004,
          "secure": false,
          "ip": "127.0.0.1",
          "nslookup_status": {
            "status": "✅ SUCCESS"
          },
          "ping_dns_status": {
            "status": "✅ SUCCESS"
          },
          "ping_ip_status": {
            "status": "✅ SUCCESS"
          },
          "curl_status": {
            "status": "✅ SUCCESS"
          },
          "service_call_status": {
            "status": "✅ SUCCESS",
            "metrics_output": {
              "nsfs_counters": {},
              "op_stats_counters": {},
              "fs_worker_stats_counters": {}
            }
          }
        }
      ]
    }
  }
}
  • Doc added/updated
  • Tests added

@romayalon romayalon changed the title adding network analyzer Network Analyzer - Operator side Dec 11, 2024
@romayalon romayalon marked this pull request as ready for review December 11, 2024 10:53
Signed-off-by: jackyalbo <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant